package com.yonyou.cyxdms.sysAuth.service.dto;

import com.yonyou.cyx.function.utils.bean.BeanMapperUtil;
import com.yonyou.cyxdms.framework.bean.dto.base.DMSBaseDTO;
import com.yonyou.cyx.framework.bean.entity.base.BasePO;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeSerializer;


/**
 * <p>
 * 经销商渠道表
 * </p>
 *
 * @author quankk
 * @since 2019-07-05
 */

public class DealerchannelDTO extends DMSBaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 经销商ID
     */
        private Long dealerId;
        /**
     * 车厂公司代码
     */
        private String companyId;
        /**
     * 经销商公司代码
     */
        private String dealerCompanyId;
        /**
     * 销售权限
     */
        private Integer salesAuthority;
        /**
     * 售后权限
     */
        private Integer afterSaleAuthority;
        /**
     * 客户类型
     */
        private Integer customerType;
        /**
     * 销售组织
     */
        private Integer salesOrganization;
        /**
     * 销售组织名称
     */
        private String salesName;
        /**
     * 上级经销商ID
     */
        private Integer parentDealerId;
        /**
     * 销售大区
     */
        private String salesArea;
        /**
     * 售后大区
     */
        private String afterSaleArea;
        /**
     * 销售代码
     */
        private String salesCode;
        /**
     * 售后代码
     */
        private String afterSaleCode;
        /**
     * 工商注册名称
     */
        private String dealerName;
        /**
     * 公司地址
     */
        private String address;
        /**
     * 店面简称
     */
        private String shortName;
        /**
     * 省份
     */
        private Integer province;
        /**
     * 城市
     */
        private Integer city;
        /**
     * 区县
     */
        private Integer county;
        /**
     * 大区
     */
        private Integer bzirk;
        /**
     * 店面级别
     */
        private Integer kdgrp;
        /**
     * 纳税人识别号
     */
        private String taxnumxl;
        /**
     * 工商备案电话
     */
        private String homeCity;
        /**
     * 联系人（总经理）
     */
        private String houseNum2;
        /**
     * 联系方式
     */
        private String mobileNumber;
        /**
     * 税局备案银行开户行名称
     */
        private String accountBankName;
        /**
     * 税局备案银行账号
     */
        private String bankAccount;
        /**
     * 税局备案地址
     */
        private String street;
        /**
     * 税局备案电话
     */
        private String telNumber;
        /**
     * 销售银行开户名称
     */
        private String salesAccountBankName;
        /**
     * 银行账号：销售
     */
        private String salesAccountBank;
        /**
     * 售后银行开户名称
     */
        private String afterSalesAccountBankName;
        /**
     * 银行账号：售后
     */
        private String afterSalesAccountBank;
        /**
     * 财务负责人电话
     */
        private String building;
        /**
     * 发票邮寄收件人
     */
        private String location;
        /**
     * 发票邮寄收件电话
     */
        private String city2;
        /**
     * 发票邮寄地址
     */
        private String strSuppl2;
        /**
     * 零件接收地址
     */
        private String strSuppl3;
        /**
     * 零件接收联系人
     */
        private String roomnumber;
        /**
     * 零件接收联系电话
     */
        private String nameCo;
        /**
     * 紧急联系人
     */
        private String floor;
        /**
     * 紧急联系电话
     */
        private String strSuppl1;
        /**
     * DMS系统管理员
     */
        private String houseNum1;
        /**
     * 管理员联系电话
     */
        private String bahns;
        /**
     * 网络供应商
     */
        private Integer katr1;
        /**
     * 网络类型
     */
        private Integer katr2;
        /**
     * 网络宽带
     */
        private Integer katr3;
        /**
     * 使用人数
     */
        private String locco;
        /**
     * 网管邮箱地址
     */
        private String smtpAddr;
        /**
     * 冻结标识
     */
        private Integer freeze;
        /**
     * 经销商代码
     */
        private String dealerCode;
        /**
     * 指定售后经销商
     */
        private String designatedAfterSalesDealer;
        /**
     * 接口处理时间
     */
        @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime interfaceProcessingTime;
        /**
     * 经销商星级
     */
        private Integer dealerStarLevel;
            private Boolean isDeleted;
        /**
     * 是否上透明车间
     */
        private Integer isWorkshop;
    
    public DealerchannelDTO() {
        super();
    }




    public Long getDealerId() {
        return dealerId;
    }


    public void setDealerId(Long dealerId) {
        this.dealerId = dealerId;
    }



    public String getCompanyId() {
        return companyId;
    }


    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }



    public String getDealerCompanyId() {
        return dealerCompanyId;
    }


    public void setDealerCompanyId(String dealerCompanyId) {
        this.dealerCompanyId = dealerCompanyId;
    }



    public Integer getSalesAuthority() {
        return salesAuthority;
    }


    public void setSalesAuthority(Integer salesAuthority) {
        this.salesAuthority = salesAuthority;
    }



    public Integer getAfterSaleAuthority() {
        return afterSaleAuthority;
    }


    public void setAfterSaleAuthority(Integer afterSaleAuthority) {
        this.afterSaleAuthority = afterSaleAuthority;
    }



    public Integer getCustomerType() {
        return customerType;
    }


    public void setCustomerType(Integer customerType) {
        this.customerType = customerType;
    }



    public Integer getSalesOrganization() {
        return salesOrganization;
    }


    public void setSalesOrganization(Integer salesOrganization) {
        this.salesOrganization = salesOrganization;
    }



    public String getSalesName() {
        return salesName;
    }


    public void setSalesName(String salesName) {
        this.salesName = salesName;
    }



    public Integer getParentDealerId() {
        return parentDealerId;
    }


    public void setParentDealerId(Integer parentDealerId) {
        this.parentDealerId = parentDealerId;
    }



    public String getSalesArea() {
        return salesArea;
    }


    public void setSalesArea(String salesArea) {
        this.salesArea = salesArea;
    }



    public String getAfterSaleArea() {
        return afterSaleArea;
    }


    public void setAfterSaleArea(String afterSaleArea) {
        this.afterSaleArea = afterSaleArea;
    }



    public String getSalesCode() {
        return salesCode;
    }


    public void setSalesCode(String salesCode) {
        this.salesCode = salesCode;
    }



    public String getAfterSaleCode() {
        return afterSaleCode;
    }


    public void setAfterSaleCode(String afterSaleCode) {
        this.afterSaleCode = afterSaleCode;
    }



    public String getDealerName() {
        return dealerName;
    }


    public void setDealerName(String dealerName) {
        this.dealerName = dealerName;
    }



    public String getAddress() {
        return address;
    }


    public void setAddress(String address) {
        this.address = address;
    }



    public String getShortName() {
        return shortName;
    }


    public void setShortName(String shortName) {
        this.shortName = shortName;
    }



    public Integer getProvince() {
        return province;
    }


    public void setProvince(Integer province) {
        this.province = province;
    }



    public Integer getCity() {
        return city;
    }


    public void setCity(Integer city) {
        this.city = city;
    }



    public Integer getCounty() {
        return county;
    }


    public void setCounty(Integer county) {
        this.county = county;
    }



    public Integer getBzirk() {
        return bzirk;
    }


    public void setBzirk(Integer bzirk) {
        this.bzirk = bzirk;
    }



    public Integer getKdgrp() {
        return kdgrp;
    }


    public void setKdgrp(Integer kdgrp) {
        this.kdgrp = kdgrp;
    }



    public String getTaxnumxl() {
        return taxnumxl;
    }


    public void setTaxnumxl(String taxnumxl) {
        this.taxnumxl = taxnumxl;
    }



    public String getHomeCity() {
        return homeCity;
    }


    public void setHomeCity(String homeCity) {
        this.homeCity = homeCity;
    }



    public String getHouseNum2() {
        return houseNum2;
    }


    public void setHouseNum2(String houseNum2) {
        this.houseNum2 = houseNum2;
    }



    public String getMobileNumber() {
        return mobileNumber;
    }


    public void setMobileNumber(String mobileNumber) {
        this.mobileNumber = mobileNumber;
    }



    public String getAccountBankName() {
        return accountBankName;
    }


    public void setAccountBankName(String accountBankName) {
        this.accountBankName = accountBankName;
    }



    public String getBankAccount() {
        return bankAccount;
    }


    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }



    public String getStreet() {
        return street;
    }


    public void setStreet(String street) {
        this.street = street;
    }



    public String getTelNumber() {
        return telNumber;
    }


    public void setTelNumber(String telNumber) {
        this.telNumber = telNumber;
    }



    public String getSalesAccountBankName() {
        return salesAccountBankName;
    }


    public void setSalesAccountBankName(String salesAccountBankName) {
        this.salesAccountBankName = salesAccountBankName;
    }



    public String getSalesAccountBank() {
        return salesAccountBank;
    }


    public void setSalesAccountBank(String salesAccountBank) {
        this.salesAccountBank = salesAccountBank;
    }



    public String getAfterSalesAccountBankName() {
        return afterSalesAccountBankName;
    }


    public void setAfterSalesAccountBankName(String afterSalesAccountBankName) {
        this.afterSalesAccountBankName = afterSalesAccountBankName;
    }



    public String getAfterSalesAccountBank() {
        return afterSalesAccountBank;
    }


    public void setAfterSalesAccountBank(String afterSalesAccountBank) {
        this.afterSalesAccountBank = afterSalesAccountBank;
    }



    public String getBuilding() {
        return building;
    }


    public void setBuilding(String building) {
        this.building = building;
    }



    public String getLocation() {
        return location;
    }


    public void setLocation(String location) {
        this.location = location;
    }



    public String getCity2() {
        return city2;
    }


    public void setCity2(String city2) {
        this.city2 = city2;
    }



    public String getStrSuppl2() {
        return strSuppl2;
    }


    public void setStrSuppl2(String strSuppl2) {
        this.strSuppl2 = strSuppl2;
    }



    public String getStrSuppl3() {
        return strSuppl3;
    }


    public void setStrSuppl3(String strSuppl3) {
        this.strSuppl3 = strSuppl3;
    }



    public String getRoomnumber() {
        return roomnumber;
    }


    public void setRoomnumber(String roomnumber) {
        this.roomnumber = roomnumber;
    }



    public String getNameCo() {
        return nameCo;
    }


    public void setNameCo(String nameCo) {
        this.nameCo = nameCo;
    }



    public String getFloor() {
        return floor;
    }


    public void setFloor(String floor) {
        this.floor = floor;
    }



    public String getStrSuppl1() {
        return strSuppl1;
    }


    public void setStrSuppl1(String strSuppl1) {
        this.strSuppl1 = strSuppl1;
    }



    public String getHouseNum1() {
        return houseNum1;
    }


    public void setHouseNum1(String houseNum1) {
        this.houseNum1 = houseNum1;
    }



    public String getBahns() {
        return bahns;
    }


    public void setBahns(String bahns) {
        this.bahns = bahns;
    }



    public Integer getKatr1() {
        return katr1;
    }


    public void setKatr1(Integer katr1) {
        this.katr1 = katr1;
    }



    public Integer getKatr2() {
        return katr2;
    }


    public void setKatr2(Integer katr2) {
        this.katr2 = katr2;
    }



    public Integer getKatr3() {
        return katr3;
    }


    public void setKatr3(Integer katr3) {
        this.katr3 = katr3;
    }



    public String getLocco() {
        return locco;
    }


    public void setLocco(String locco) {
        this.locco = locco;
    }



    public String getSmtpAddr() {
        return smtpAddr;
    }


    public void setSmtpAddr(String smtpAddr) {
        this.smtpAddr = smtpAddr;
    }



    public Integer getFreeze() {
        return freeze;
    }


    public void setFreeze(Integer freeze) {
        this.freeze = freeze;
    }



    public String getDealerCode() {
        return dealerCode;
    }


    public void setDealerCode(String dealerCode) {
        this.dealerCode = dealerCode;
    }



    public String getDesignatedAfterSalesDealer() {
        return designatedAfterSalesDealer;
    }


    public void setDesignatedAfterSalesDealer(String designatedAfterSalesDealer) {
        this.designatedAfterSalesDealer = designatedAfterSalesDealer;
    }



    public LocalDateTime getInterfaceProcessingTime() {
        return interfaceProcessingTime;
    }


    public void setInterfaceProcessingTime(LocalDateTime interfaceProcessingTime) {
        this.interfaceProcessingTime = interfaceProcessingTime;
    }



    public Integer getDealerStarLevel() {
        return dealerStarLevel;
    }


    public void setDealerStarLevel(Integer dealerStarLevel) {
        this.dealerStarLevel = dealerStarLevel;
    }



    public Boolean getDeleted() {
        return isDeleted;
    }


    public void setDeleted(Boolean isDeleted) {
        this.isDeleted = isDeleted;
    }



    public Integer getIsWorkshop() {
        return isWorkshop;
    }


    public void setIsWorkshop(Integer isWorkshop) {
        this.isWorkshop = isWorkshop;
    }



    @Override
    public String toString() {
        return "DealerchannelDTO{" +
        "dealerId=" + dealerId +
        ", companyId=" + companyId +
        ", dealerCompanyId=" + dealerCompanyId +
        ", salesAuthority=" + salesAuthority +
        ", afterSaleAuthority=" + afterSaleAuthority +
        ", customerType=" + customerType +
        ", salesOrganization=" + salesOrganization +
        ", salesName=" + salesName +
        ", parentDealerId=" + parentDealerId +
        ", salesArea=" + salesArea +
        ", afterSaleArea=" + afterSaleArea +
        ", salesCode=" + salesCode +
        ", afterSaleCode=" + afterSaleCode +
        ", dealerName=" + dealerName +
        ", address=" + address +
        ", shortName=" + shortName +
        ", province=" + province +
        ", city=" + city +
        ", county=" + county +
        ", bzirk=" + bzirk +
        ", kdgrp=" + kdgrp +
        ", taxnumxl=" + taxnumxl +
        ", homeCity=" + homeCity +
        ", houseNum2=" + houseNum2 +
        ", mobileNumber=" + mobileNumber +
        ", accountBankName=" + accountBankName +
        ", bankAccount=" + bankAccount +
        ", street=" + street +
        ", telNumber=" + telNumber +
        ", salesAccountBankName=" + salesAccountBankName +
        ", salesAccountBank=" + salesAccountBank +
        ", afterSalesAccountBankName=" + afterSalesAccountBankName +
        ", afterSalesAccountBank=" + afterSalesAccountBank +
        ", building=" + building +
        ", location=" + location +
        ", city2=" + city2 +
        ", strSuppl2=" + strSuppl2 +
        ", strSuppl3=" + strSuppl3 +
        ", roomnumber=" + roomnumber +
        ", nameCo=" + nameCo +
        ", floor=" + floor +
        ", strSuppl1=" + strSuppl1 +
        ", houseNum1=" + houseNum1 +
        ", bahns=" + bahns +
        ", katr1=" + katr1 +
        ", katr2=" + katr2 +
        ", katr3=" + katr3 +
        ", locco=" + locco +
        ", smtpAddr=" + smtpAddr +
        ", freeze=" + freeze +
        ", dealerCode=" + dealerCode +
        ", designatedAfterSalesDealer=" + designatedAfterSalesDealer +
        ", interfaceProcessingTime=" + interfaceProcessingTime +
        ", dealerStarLevel=" + dealerStarLevel +
        ", isDeleted=" + isDeleted +
        ", isWorkshop=" + isWorkshop +
        "}";
    }
    /**
     * 将DTO 转换为PO
     * //对某个对象属性进行赋值
     * //BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param poClass dto 需要转换的dto
     * @author quankk
     * @since 2018/7/22 0022
     */
    @Override
    public <T extends BasePO> T transDtoToPo(Class<T> poClass) {
        return super.transDtoToPo(poClass);
    }

    /**
     * 将DTO 转换为PO
     * BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param po 需要转换的对象
     * @author quankk
     * @since 2018/7/22 0022
     */
    public <T extends BasePO> void transDtoToPo(T po) {
        BeanMapperUtil.copyProperties(this, po, "dealerId");
    }

}
